package com.hifar.test.syncData.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hifar.test.syncData.pojo.HfEnvSyncDataExportTask;
import com.hifar.test.syncData.pojo.HfEnvSyncTableConfig;


import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author zhuWeiWei
 * @description: TODO
 * @date 2025/4/11 11:57
 */
public interface IHfEnvSyncDataExportTaskService extends IService<HfEnvSyncDataExportTask> {

    /**
     * 更新进度条
     *
     * @param taskId
     * @return
     */
    void updateSchedule(String taskId, BigDecimal schedule,String status);


    /**
     * 任务完成 更新状态
     *
     * @param taskId
     * @return
     */
    void taskFinish(String taskId, String bucketPre, String filePath);

    /**
     * 任务失败 更新状态
     *
     * @param taskId
     * @param errMsg
     */
    void taskError(String taskId,String errMsg);

    /**
     * 导出单表数据
     *
     * @param taskId          任务id
     * @param syncTableConfig 数据库同步配置
     */
    void syncTableData(String taskId, HfEnvSyncTableConfig syncTableConfig);

    /**
     * 查询数据
     *
     * @param syncTableConfig
     * @return
     */
    List<Map<String, Object>> queryDataByTable(HfEnvSyncTableConfig syncTableConfig);

    /**
     * 导出附件信息
     *
     * @param taskId 任务id
     */
    void syncFile(String taskId);

    /**
     * 压缩加密导出附件
     *
     * @param taskId
     */
    void encryptionSyncExportFile(String taskId);

}
